package com.iisigroup.adrclient.service;

import java.util.List;
import java.util.Map;

import javax.swing.JTextArea;

import com.iisigroup.adrclient.vo.AdrStrBlockOrderVO;
import com.iisigroup.adrclient.vo.AdrStrBlockVO;
import com.iisigroup.adrclient.vo.ResultVO;

public interface AdrClientService {
	public Boolean uploadAdr200(String year, String countyCode, String url, JTextArea console);
	public Integer countAdr200(String year, String countyCode);
	
	public Boolean uploadHud250(String year, String countyCode, String url, JTextArea console);
	public Integer countHud250(String year, String countyCode);
	
	public List<ResultVO> getAdr220(String year, String countyCode);
	public Boolean outputAdr220(String year, String countyCode, JTextArea console);
	public Integer countAdr220(String year, String countyCode);
	
	public List<ResultVO> getAdr260(String year, String countyCode);
	public Boolean outputAdr260(String year, String countyCode, JTextArea console);
	public Integer countAdr260(String year, String countyCode);
	
	public List<ResultVO> getAdr270(String year, String countyCode);
	public Boolean outputAdr270(String year, String countyCode, JTextArea console);
	public Integer countAdr270(String year, String countyCode);
	
	public List<ResultVO> getAdrPost(String year, String countyCode);
	public Boolean outputAdrPost(String year, String countyCode, JTextArea console);
	public Integer countAdrPost(String year, String countyCode);
	
	public List<ResultVO> getAdrSprd(String year);
	public Boolean outputAdrSprd(String year, JTextArea console);
	public Integer countAdrSprd(String year);
	
	public Boolean outputArea(String year, JTextArea console);
	public Boolean outputCity(String year, JTextArea console);
	
	public Boolean disableAdr380();
	public Boolean enableAdr380();
	public Boolean calAdr380weight(String year, String countyCode);
	
	public String compare(String sourceUrl, String targetUrl, Integer length);
	
	public Map<String, String> getCountyMap();
	
	public Boolean uploadAdrPost(String year, String countyCode, String url, JTextArea console);
	public Boolean uploadAdrPost2(String year, String countyCode, String url, JTextArea console);
	public Boolean uploadAdrArea(String countyCode, String url, JTextArea console);
	public Boolean uploadAdrSprd(String countyCode, String url, JTextArea console);
	
	public Boolean deleteAdr380(String year, String countyCode);
	
	public Boolean initAdr220(String year, String countyCode, JTextArea console);
	public Boolean createAdr220(String year, String countyCode, JTextArea console);
	
	public Boolean create150(String year, String countyCode, JTextArea console);
	public Boolean create168(String year, String countyCode, JTextArea console);
	
	public Boolean outputAdr380(String year, String countyCode, JTextArea console);
	
	public List<AdrStrBlockVO> convertToAdrStrBlockVO(List<AdrStrBlockOrderVO> list);
	
	public List<AdrStrBlockOrderVO> order150(String year, String countyCode);
	public List<AdrStrBlockOrderVO> order168(String year, String countyCode);
	
	public Boolean insert150(String year, String countyCode, List<AdrStrBlockVO> list, JTextArea console);
	public Boolean insert168(String year, String countyCode, List<AdrStrBlockVO> list, JTextArea console);
	
	public Boolean outputAdr150(String year, String countyCode, JTextArea console);
	public Boolean outputAdr168(String year, String countyCode, JTextArea console);
	
	public Boolean outputWordMap(String year, JTextArea console);
	
	public Boolean uploadWordMap(String url, JTextArea console);
}
